/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 周斌
 * Date: 2023-11-11
 * Time: 20:00
 */
//父类 基类
class Animal1 {
    //父类成员变量 字段 属性
    public String name;
    public int age;
    //父类成员方法
    public void wag() {
        System.out.println(this.name+"汪汪汪叫............");
    }
    //父类有参数的构造方法
    /*public Animal(String name,int age) {
        this.name = name;
        this.age = age;
    }*/
    //父类无参数的构造方法
    public Animal1() {
        System.out.println("父类无参数的构造方法");
    }
}
//子类  派生类
class Dog extends Animal1 {
    //子类成员变量
    public String color;
    //子类成员方法
    public void braks() {
        System.out.println(super.name+"摇尾巴............");
    }
    //子类参数的构造方法
    /*public Dog(String name,int age) {
        super(name,age);
    }*/
    //子类无参数的构造方法
    public Dog() {
        super();
        System.out.println("子类的无参数的构造方法");
    }
    //在子类访问父类的成员方法和成员变量
    public void method() {
        //访问自己类的成员变量和成员方法
        this.color = "黑色";
        this.braks();
        //用this去访问父类的成员变量和成员方法
        this.name = "小黄";
        this.age = 2;
        this.wag();
        //用super去访问父类的成员变量和成员方法
        super.name = "小黄";
        super.age = 2;
        super.wag();
        //this可以访问子类和父类的成员变量和成员方法，但super只能访问父类的成员变量和成员方法。
        //this是代表当前对象的引用，super是代表从父类继承过来的数据引用
    }

}
public class Test {
    public static void main(String[] args) {
        //实例化一个对象
        //og dog = new Dog("小黄",1);
        Animal1 animal1 = new Dog();
        /*dog.wag();
        dog.braks();*/

    }
}
